#pragma once
#include <string>

#include "MxUtils\MxError1.h"
#include "..\..\PublicInterfaces\PluginICPopenCV\PluginICPopenCVErrorCodes.h"

#ifdef PluginICPopenCV_EXPORTS
#define PluginICPopenCV_API __declspec(dllexport)
#else
#define PluginICPopenCV_API __declspec(dllimport)
#endif

class PluginICPopenCV_API ArrayInts
{
public:
	static const int		  ArrayInts::Invalid = -1;
	static const char         ArrayInts::Delimiter = ';';	//if you change this, then change find_first_not_of("0123456789;") in GetSize

	static const char * const ArrayInts::Preamble;



public:
	ArrayInts(void);
	~ArrayInts(void);

	static int	       MXSTDMETHOD GetSize(const char *arrayStr);									//return -1 if arrayStr is invalid
	static int		   MXSTDMETHOD GetStrLength(int *arrayInt, int size);
	static bool		   MXSTDMETHOD ConvertStr2Ints(const char *arrayStr, int *arrayInt, int size);
	static const char *MXSTDMETHOD ConvertInts2Str(int *arrayInt, int size, std::string *result);

};

